package com.mohan.system.manage;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.Collections;

@SpringBootTest
public class CodeGen {


        @Test
        public void genSystemCode() {
            FastAutoGenerator.create("jdbc:mysql://rm-bp12kw33d0mw1sky15o.mysql.rds.aliyuncs.com/cloud2020?serverTimezone=UTC",
                            "root",
                            "357159AAAss**")
                    .globalConfig(builder -> {
                        builder.author("mohan") // 设置作者
                                //.enableSwagger() // 开启 swagger 模式
                                .fileOverride() // 覆盖已生成文件
                                .outputDir("E:\\代码区域\\人生苦短，我用shiro\\代码区域\\shirodoc\\shiro_springboot\\src\\main\\java"); // 指定输出目录
                    })
                    .packageConfig(builder -> {
                        builder.parent("com") // 设置父包名
                                .moduleName("mohan") // 设置父包模块名
                                .pathInfo(Collections.singletonMap(OutputFile.xml, "E:\\代码区域\\人生苦短，我用shiro\\代码区域\\shirodoc\\shiro_springboot\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
                    })
                    .strategyConfig(builder -> {
                        builder.entityBuilder().enableLombok();
                        builder.controllerBuilder().enableHyphenStyle().enableRestStyle();
                        builder.addInclude("t_pers") // 设置需要生成的表名
                                .addTablePrefix("t"); // 设置过滤表前缀
                    })
                    .templateEngine(new VelocityTemplateEngine()) // 使用Freemarker引擎模板，默认的是Velocity引擎模板
                    .execute();
        }
}
